package ${package.Service};

import ${package.Entity}.${entity};
import ${superServiceClassPackage};

import java.util.List;

/**
 * <p>
 * ${table.comment!} 服务类
 * </p>
 *
 * @author ${author}
 * @since ${date}
 */
<#if kotlin>
interface ${table.serviceName} : ${superServiceClass}<${entity}>
<#else>
public interface ${table.serviceName} extends ${superServiceClass}<${entity}> {

    /**
    * 批量新增或更新省数据
    *
    * @param entityList  实体列表
    * @param batchSize   每次更新条数
    */
    void batchSaveOrUpdate(List<${entity}> entityList, Integer batchSize);

    /**
    * 查询实体
    *
    * @param page
    * @return
    */
    JsonResult<${entity}VO> search(Page page);

    /**
    * 新增实体
    *
    * @param view
    * @return
    */
    ${entity}VO add(${entity}VO view);

    /**
    * 逻辑删除
    *
    * @param id
    */
    void logicalDelete(Long id);

    /**
    * 更新实体
    *
    * @param view
    * @return
    */
    ${entity}VO update(${entity}VO view);

    /**
    * 根据id获取vo
    *
    * @param id
    * @return
    */
    ${entity}VO getViewById(Long id);
}
</#if>
